{
 "cells": [
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {},
   "outputs": [],
   "source": [
    "import numpy as np\n",
    "import pandas as pd\n",
    "np.random.seed(2022)\n",
    "\n",
    "import gensim\n",
    "from gensim.utils import simple_preprocess\n",
    "from gensim.parsing.preprocessing import STOPWORDS\n",
    "import nltk\n",
    "from nltk.stem import WordNetLemmatizer, SnowballStemmer\n",
    "from nltk.stem.porter import *    #词干提取算法"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {},
   "outputs": [],
   "source": [
    "def lemmatize_stemming(text):\n",
    "\t'''\n",
    "\t词形归并->提取词干\n",
    "\tparams text:单词\n",
    "\t'''\n",
    "\tlemmatizer = WordNetLemmatizer()\t#词形归并\n",
    "\t# porter_stemmer = PorterStemmer()\t#提取词干\n",
    "\t# return porter_stemmer.stem(lemmatizer.lemmatize(text, pos='v'))\n",
    "\treturn lemmatizer.lemmatize(text, pos='v')\n",
    "\n",
    "def preprocess(text):\n",
    "\t'''\n",
    "\t去除停用词与长度小于3的词->词形归并-提取词干\n",
    "\tparams test:单词组成的字符串\n",
    "\t'''\n",
    "\tresult = []\n",
    "\t#note：分词可以把特定的技术词也划分出来就好了，是否可以导入词典\n",
    "\t#note：在这之前那还得把技术关键词 格式合并\n",
    "\tfor token in gensim.utils.simple_preprocess(text):\n",
    "\t\tif token not in gensim.parsing.preprocessing.STOPWORDS and len(token) > 3:\n",
    "\t\t\tresult.append(lemmatize_stemming(token))\n",
    "\treturn result"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "patent number:3057\n"
     ]
    }
   ],
   "source": [
    "# 读取数据\n",
    "file_path = r'./data/DIpatent/textandtabindicator.xlsx'\n",
    "#note:原始txt粘贴到excel，再粘贴回来。\n",
    "data_df = pd.read_excel(file_path)\n",
    "abstract_list = data_df['abstract'].values\n",
    "print('patent number:{}'.format(len(abstract_list)))\n",
    "\n",
    "# 数据预处理\n",
    "abstract_preprocessed = []\n",
    "for abstract in abstract_list:\n",
    "\tabstract_preprocessed.append(preprocess(abstract))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "主题数量： 1\n",
      "该主题评价完成\n",
      "\n",
      "主题数量： 2\n",
      "该主题评价完成\n",
      "\n",
      "主题数量： 3\n",
      "该主题评价完成\n",
      "\n",
      "主题数量： 4\n",
      "该主题评价完成\n",
      "\n",
      "主题数量： 5\n",
      "该主题评价完成\n",
      "\n",
      "主题数量： 6\n",
      "该主题评价完成\n",
      "\n",
      "主题数量： 7\n",
      "该主题评价完成\n",
      "\n",
      "主题数量： 8\n",
      "该主题评价完成\n",
      "\n",
      "主题数量： 9\n",
      "该主题评价完成\n",
      "\n",
      "主题数量： 10\n",
      "该主题评价完成\n",
      "\n",
      "主题数量： 11\n",
      "该主题评价完成\n",
      "\n",
      "主题数量： 12\n",
      "该主题评价完成\n",
      "\n",
      "主题数量： 13\n",
      "该主题评价完成\n",
      "\n",
      "主题数量： 14\n",
      "该主题评价完成\n",
      "\n",
      "主题数量： 15\n",
      "该主题评价完成\n",
      "\n",
      "主题数量： 16\n",
      "该主题评价完成\n",
      "\n",
      "主题数量： 17\n",
      "该主题评价完成\n",
      "\n",
      "主题数量： 18\n",
      "该主题评价完成\n",
      "\n",
      "主题数量： 19\n",
      "该主题评价完成\n",
      "\n",
      "主题数量： 20\n",
      "该主题评价完成\n",
      "\n",
      "主题数量： 21\n",
      "该主题评价完成\n",
      "\n",
      "主题数量： 22\n",
      "该主题评价完成\n",
      "\n",
      "主题数量： 23\n",
      "该主题评价完成\n",
      "\n",
      "主题数量： 24\n",
      "该主题评价完成\n",
      "\n",
      "主题数量： 25\n",
      "该主题评价完成\n",
      "\n",
      "主题数量： 26\n",
      "该主题评价完成\n",
      "\n",
      "主题数量： 27\n",
      "该主题评价完成\n",
      "\n",
      "主题数量： 28\n",
      "该主题评价完成\n",
      "\n",
      "主题数量： 29\n",
      "该主题评价完成\n",
      "\n",
      "主题数量： 30\n",
      "该主题评价完成\n",
      "\n"
     ]
    }
   ],
   "source": [
    "# ------------------确定主题个数-1获取困惑度和一致性的值----------------------------\n",
    "# 根据困惑度与一致性决定主题个数\n",
    "# 模型困惑度与一致性\n",
    "# 困惑度越低越好，一致性越高越好\n",
    "import gensim\n",
    "from gensim import corpora, models\n",
    "\n",
    "dictionary = gensim.corpora.Dictionary(abstract_preprocessed)\n",
    "dictionary.filter_extremes(no_below=15, no_above=0.5, keep_n=100000)\n",
    "bow_corpus = [dictionary.doc2bow(doc) for doc in abstract_preprocessed]\n",
    "\n",
    "# 计算困惑度与一致性\n",
    "x = [] # x轴\n",
    "perplexity_values = [] # 困惑度\n",
    "coherence_values = []   # 一致性\n",
    "model_list = [] # 存储对应主题数量下的lda模型,便于生成可视化网页\n",
    "\n",
    "num_topics = 30\n",
    "for topic in range(num_topics):\n",
    "\tprint(\"主题数量：\", topic+1)\n",
    "\tlda_model = models.LdaModel(corpus=bow_corpus, num_topics=topic+1, id2word =dictionary, chunksize = 2000, passes=20, iterations = 400)\n",
    "\tmodel_list.append(lda_model)\n",
    "\tx.append(topic+1)\n",
    "\t# 困惑度\n",
    "\tperplexity = np.exp2(-(lda_model.log_perplexity(bow_corpus)))\n",
    "\t# perplexity_values.append(lda_model.log_perplexity(bow_corpus))\n",
    "\tperplexity_values.append(perplexity)\n",
    "\t# 一致性\n",
    "\tcoherencemodel = models.CoherenceModel(model=lda_model, texts=abstract_preprocessed, dictionary=dictionary, coherence='c_v')\n",
    "\tcoherence_values.append(coherencemodel.get_coherence())\n",
    "\tprint(\"该主题评价完成\\n\")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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",
      "text/plain": [
       "<Figure size 1080x360 with 2 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "# 确定主题个数-2绘制图形（困惑度和一致性）\n",
    "import matplotlib.pyplot as plt\n",
    "import matplotlib\n",
    "from pylab import xticks,yticks,np\n",
    "\n",
    "# 绘制困惑度和一致性折线图\n",
    "fig = plt.figure(figsize=(15,5))\n",
    "plt.rcParams['font.sans-serif']=['SimHei']\n",
    "matplotlib.rcParams['axes.unicode_minus'] = False \n",
    "\n",
    "ax1 = fig.add_subplot(1, 2, 1)\n",
    "plt.plot(x, perplexity_values, marker=\"o\")\n",
    "plt.title(\"主题建模-困惑度\")\n",
    "plt.xlabel('主题数目')\n",
    "plt.ylabel('困惑度大小')\n",
    "xticks(np.linspace(1, num_topics, num_topics, endpoint=True)) # 保证x轴刻度为1\n",
    "\n",
    "ax2 = fig.add_subplot(1, 2, 2)\n",
    "plt.plot(x, coherence_values, marker=\"o\")\n",
    "plt.title(\"主题建模-一致性\")\n",
    "plt.xlabel(\"主题数目\")\n",
    "plt.ylabel(\"一致性大小\")\n",
    "xticks(np.linspace(1, num_topics, num_topics, endpoint=True))\n",
    "\n",
    "\n",
    "plt.show()"
   ]
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3.6.8 64-bit",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.6.8"
  },
  "orig_nbformat": 4,
  "vscode": {
   "interpreter": {
    "hash": "d207591e6ff77a7c5fb4cef0dd9fd3703274637a9d0902d2045beb3a65bf572a"
   }
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}
